TBasicAtmosphere Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicAtmosphere:

I3DExAtmosphericShader TBasicDataExchanger IMCUnknown TBasicUnknown IExDataExchanger TMCObject IMCUnknown IMCUnknown List of all members.

Public Member Functions

virtual MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI AddRef ()
virtual MCCOMErr MCCOMAPI SegmentTraceRay (const Ray3D &ray, real64 tmin, real64 tmax, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean isShadowRay, boolean indirectLight, boolean isSunLightShadowCasting)
virtual MCCOMErr MCCOMAPI DirectionTraceRay (const Ray3D &ray, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean indirectLight)
virtual MCCOMErr MCCOMAPI PrepareRender ()
virtual MCCOMErr MCCOMAPI EndRender ()
virtual MCCOMErr MCCOMAPI SegmentFilter (TVector3 &beg, TVector3 &end, TMCColorRGB &inOutFilter, boolean indirectLight, boolean isShadowCasting, boolean isSunLightShadowCasting)
virtual MCCOMErr MCCOMAPI DirectionFilter (TVector3 &origin, TVector3 &direction, TMCColorRGB &inOutFilter, boolean indirectLight)
virtual void MCCOMAPI GetLightInfo (TAtmosphericLightInfo &info, EAtmosphericLightType lightType)

Detailed Description

Basic Atmosphere class. Derive from this for a default implementation of I3DExAtmosphericShader
See also:
I3DExAtmosphericShader


Member Function Documentation

virtual uint32 MCCOMAPI TBasicAtmosphere::AddRef (   )  [inline, virtual]
 

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::DirectionFilter (  TVector3 &  origin,
TVector3 &  direction,
TMCColorRGB &  inOutFilter,
boolean  indirectLight
)  [virtual]
 

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::DirectionTraceRay (  const Ray3D &  ray,
TMCColorRGBA &  inOutFilter,
I3DExRaytracer *  raytracer,
boolean  indirectLight
)  [virtual]
 

Calculates the effect of the atmosphere on an infinite ray.

Parameters:
ray The ray in Global Coordinates
inOutFilter On input it contains the color of the Background. On output it contains the color of the light filtered through the atmosphere.
raytracer Pointer to the raytracer
indirectLight True if the ray is used to calculate indirect lighting.

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::EndRender (   )  [inline, virtual]
 

Called after the scene is rendered

Implements I3DExAtmosphericShader.

virtual void MCCOMAPI TBasicAtmosphere::GetLightInfo (  TAtmosphericLightInfo &  info,
EAtmosphericLightType  lightType
)  [virtual]
 

Return info about the sun or the moon light

Parameters:
info The info about the light position, color...
lightType Looking for the sun or for the moon.

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::PrepareRender (   )  [inline, virtual]
 

Called before the scene is rendered

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::QueryInterface (  const MCIID &  riid,
void **  ppvObj
)  [virtual]
 

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:
riid GUID of the interface
ppvObj A pointer to the pointer being returned.

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::SegmentFilter (  TVector3 &  beg,
TVector3 &  end,
TMCColorRGB &  inOutFilter,
boolean  indirectLight,
boolean  isShadowCasting,
boolean  isSunLightShadowCasting
)  [virtual]
 

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::SegmentTraceRay (  const Ray3D &  ray,
real64  tmin,
real64  tmax,
TMCColorRGBA &  inOutFilter,
I3DExRaytracer *  raytracer,
boolean  isShadowRay,
boolean  indirectLight,
boolean  isSunLightShadowCasting
)  [virtual]
 

Calculates the effect of the atmosphere on a finite line segment on a ray.

Parameters:
ray The ray that should be filtered
tmin The beginning of the segment on the ray
tmax The end of the segmenet on the ray
inOutFilter On input this is the color of the light coming from end in the direction of beg. On output it should contained the color of the light seen through beg once the light has been filtered by the atmosphere.
raytracer Pointer to the raytracer
indirectLight True if the ray is used to calculate indirect lighting.
isShadowRay True if the ray is used to calculate shadows (object -> light source)
isSunLightShadowCasting True if the ray is used to calculate shadows from the sun light

Implements I3DExAtmosphericShader.


The documentation for this class was generated from the following file:
Generated on Wed Dec 7 14:27:42 2005 for Carrara SDK Doc by  doxygen 1.4.5